/**
 * @description 
 * @param {Array} arr 
 * @returns arr
 */
function selectionSort(arr){
  const len = arr.length;
  let minIndex,temp
  for (let i = 0; i < len - 1; i++) {
    //初始化minIndex为第一个元素
    minIndex = i
    /**
     * 迭代当前元素的下一个元素和外层的元素进行对比,找到最小的元素索引
     */
    for (let j = i+1; j < len; j++) {
      if(arr[j] < arr[minIndex]){
          minIndex = j
      }
    }

    /**
     * 交换当前元素和minIndex元素的位置
     */
    temp = arr[i]
    arr[i] = arr[minIndex]
    arr[minIndex] = temp
  }

  return arr
}


//test
const data = [3,2,4,5,6,1,10,7]
const res = selectionSort(data)
console.log("🚀 ~ file: demo2.js:10 ~ res:", res)

/**
 * 🚀 ~ file: demo2.js:10 ~ res: [1, 2, 3,  4,5, 6, 7, 10]
 */
